// 函数 函数名是大写的 默认为构造函数
function CEO(name, sex){
    this.name=name;
    this.sex=sex;
    console.log('未来的CEO，come on');
}

var zw_gg=new CEO('陈zw','女'); // 类
var cw=new CEO('程w','男');
var yy=CEO('亚于','男');

console.log(zw_gg,cw);
console.log(yy); //普通函数 没有return
console.log(typeof CEO);
console.log(zw_gg.toString());
// CEO(); //普通函数运行

console.log(zw_gg.constructor,'----'); // constructor 初始化对象
console.log(zw_gg instanceof CEO,'///');

cw.hobbies=['读书'];
const xz = {}; // 默认原型是 object
const xa=new Object(); // {} 创建空对象 object是函数,函数也是对象

//任何函数都 可以有一个prototype属性
Object.prototype.toSay = function(){
    console.log(`hi,留意脚下`)
}
xz.__proto__ = cw;

cw.toSay =function(){
    console.log('江西老乡读来滴滴');
}



console.log(xz.hobbies,'??');
xz.toSay();

/* new
1. {} 新建一个空对象 再把函数运行一遍，上下文环境是this -> 指向生成的对象
2.将他返回 */